---
type: tutorial
title: Ajouter un flux RSS
description: >-
  Tutoriel : Créer votre premier blog avec Astro —

  Installez le paquet officiel d'Astro pour créer un flux que vos lecteurs
  peuvent suivre.
i18nReady: true
---
import Box from '~/components/tutorial/Box.astro';
import Checklist from '~/components/Checklist.astro';
import PreCheck from '~/components/tutorial/PreCheck.astro';
import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro';
import { Steps } from '@astrojs/starlight/components';

<PreCheck>
  - Installer un paquet Astro pour créer un flux RSS pour votre site web.
  - Créer un flux permettant aux lecteurs de flux RSS de s'abonner et de le lire.
</PreCheck>

## Installer le paquet RSS d'Astro

Astro propose un paquet personnalisé pour ajouter rapidement un flux RSS à votre site web.

Ce paquet officiel génère un document non-HTML avec des informations sur tous vos articles de blog, pouvant être lu par des **lecteurs de flux**, tels que Feedly, The Old Reader, et plus encore. Ce document est mis à jour à chaque recompilation de votre site.

Les personnes peuvent s'abonner à votre flux dans un lecteur de flux et recevoir une notification lorsque vous publiez un nouvel article de blog sur votre site, ce qui en fait une fonctionnalité de blog populaire.

<Steps>
1. Dans votre terminal, quittez le serveur de développement d'Astro (<kbd>Ctrl + C</kbd>) et exécutez la commande suivante pour installer le paquet RSS d'Astro.

    <PackageManagerTabs>
      <Fragment slot="npm">
      ```shell
      npm install @astrojs/rss
      ```
      </Fragment>
      <Fragment slot="pnpm">
      ```shell
      pnpm add @astrojs/rss
      ```
      </Fragment>
      <Fragment slot="yarn">
      ```shell
      yarn add @astrojs/rss
      ```
      </Fragment>
    </PackageManagerTabs>

2. Redémarrez le serveur de développement pour continuer à travailler sur votre projet Astro.

    <PackageManagerTabs>
      <Fragment slot="npm">
      ```shell
      npm run dev
      ```
      </Fragment>
      <Fragment slot="pnpm">
      ```shell
      pnpm run dev
      ```
      </Fragment>
      <Fragment slot="yarn">
      ```shell
      yarn run dev
      ```
      </Fragment>
    </PackageManagerTabs>
</Steps>

## Créer un document `.xml` de flux

<Steps>
1. Créez un nouveau fichier dans `src/pages/` appelé `rss.xml.js`.

2. Copiez le code suivant dans ce nouveau document. Personnalisez les propriétés `title` et `description`, et si nécessaire, spécifiez une langue différente dans `customData` :

    ```js title="src/pages/rss.xml.js"

    import rss, { pagesGlobToRssItems } from '@astrojs/rss';

    export async function GET(context) {
      return rss({
        title: 'Apprenti Astro | Blog',
        description: "Mon parcours d'apprentissage d'Astro",
        site: context.site,
        items: await pagesGlobToRssItems(import.meta.glob('./**/*.md')),
        customData: `<language>fr-fr</language>`,
      });
    }
    ```

3. Ajoutez la propriété `site` à la configuration Astro avec l'URL Netlify unique de votre site.

    ```js title="astro.config.mjs" ins={4}
    import { defineConfig } from "astro/config";

    export default defineConfig({
      site: "https://example.com"
    });
    ```

4. Visitez `http://localhost:4321/rss.xml` et vérifiez que vous pouvez voir du texte (non formaté) sur la page avec un élément (`item`) pour chacun de vos fichiers `.md`. Chaque élément devrait contenir des informations sur les articles de blog telles que `title`, `url` et `description`.

    :::tip[Consulter votre flux RSS dans un lecteur]
    Téléchargez un lecteur de flux, ou inscrivez-vous à un service de lecteur de flux en ligne et abonnez-vous à votre site en ajoutant votre propre URL Netlify. Vous pouvez également partager ce lien avec d'autres personnes afin qu'elles puissent s'abonner à vos articles et être notifiées lorsqu'un nouveau est publié.
    :::

</Steps>

<Box icon="check-list">

## Liste de contrôle

<Checklist>
- [ ] Je peux installer un paquet Astro en utilisant la ligne de commande.
- [ ] Je peux créer un flux RSS pour mon site web.
</Checklist>
</Box>

### Ressources

- [Génération d'éléments RSS dans Astro](/fr/recipes/rss/#utilisation-des-importations-globales)
